今天我們來看一個簡單的程式:
#include<stdio.h>
int main(){
int arr[10] = {20, 23, 45, 8, 20, 65, 10, 12, 45, 56};
int max = arr[0];
int i;
for(i=0; i<10; i++){
if(arr[i] > max)
max = arr[i];
else
max = max;
}
printf("The maximum is %d", max);
return 0;
}
輸出結果如下:
這是一個非常基本的程式,功能是要找出一個陣列裡面的最大值。
程式解說:
首先,我們先宣告一個長度為十的陣列,並給他十個數值,我們想要找出這十個數值哪個數最大,所以我們宣告一個變數叫做 max
,然後先給他初始值 arr[0]
,也就是數字 20。
然後,我們用 for
迴圈去做,把迴圈裡的每一個值都跑過一次,並比較他是否大於我們現在的 max
值,如果大於 max
值,我們的 max
就要更新,如果沒有大於現在的 max
值,max
值就不改變。
跑過一次之後,變數 max
裡面的值即是這十個數中的最大值,最後,再將他印出來即可。
字串在 C 裡的意義是指字元組成的陣列,最後加上一個空字元 '\0'
,例如底下這個"hello"
字串:char test[] = {'h', 'e', 'l', 'l', 'o', '\0'};
printf("%s", text);
" "
來包含文字:char text[] = "hello";
'\0'
,但這個語法會自動加上空字元。gets()
函式在這裡,我們介紹一個新的輸入函式。gets()
和scanf()
的差別是:如果使用scanf()
讀取字串時,遇到空白字元便會結束。
而gets()
這個函式是只有遇到 Enter 鍵才會結束,在 Enter 鍵以前的字元輸入都會當成字元(包含空白鍵)。
明天,我們來介紹一種很好玩的排序法~